{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.9" }, "colab": { "name": "602_Non-Linear Shooting Method.ipynb", "provenance": [], "include_colab_link": true } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "id": "GfTfNF2YzGZ2" }, "source": [ "# Non-Linear Shooting Method\n", "#### John S Butler john.s.butler@tudublin.ie [Course Notes](https://johnsbutler.netlify.com/files/Teaching/Numerical_Analysis_for_Differential_Equations.pdf) [Github](https://github.com/john-s-butler-dit/Numerical-Analysis-Python)\n", "\n", "## Overview\n", "This notebook illustates the implentation of a the non-linear shooting method to a non-linear boundary value problem.\n", "\n", "The non-linear shooting method is a bit like the game Angry Birds to make a first guess and then you refine.\n", "The video below walks through the code." ] }, { "cell_type": "code", "metadata": { "id": "991Wc_p2zGZ5", "colab": { "base_uri": "https://localhost:8080/", "height": 336 }, "outputId": "784079d8-a10a-4219-fa04-e6c34b261a79" }, "source": [ "from IPython.display import HTML\n", "HTML('')" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "execution_count": 1 } ] }, { "cell_type": "markdown", "metadata": { "id": "HPtzoUb2zGZ6" }, "source": [ "## Introduction\n", "To numerically approximate the non-linear Boundary Value Problem\n", "\\begin{equation}\n", "y^{''}=f(x,y,y^{'}), \\ \\ \\ a < x < b, \\end{equation}\n", "with the boundary conditions \\begin{equation}y(a)=\\alpha,\\end{equation} and\n", "\\begin{equation}y(b) =\\beta,\\end{equation}\n", "using the non-linear shooting method, the Boundary Value Problem is divided into two Initial Value Problems:\n", "1. The first 2nd order non-linear Initial Value Problem is the same as the original Boundary Value Problem with an extra initial condtion $y_1^{'}(a)=\\lambda_0$. \n", "\\begin{equation}\n", " y^{''}_1=f(x,y,y^{'}), \\ \\ y_1(a)=\\alpha, \\ \\ \\color{red}{y^{'}_1(a)=\\lambda_0},\\\\\n", "\\end{equation}\n", "2. The second 2nd order Initial Value Problem is with respect to $z=\\frac{\\partial y}{\\partial \\lambda}$ with the initial condtions $z(a)=0$ and $z^{'}(a)=1$.\n", "\n", "\\begin{equation}\n", "z^{''}=\\frac{\\partial f}{\\partial y^{'}}z^{'}(x,\\lambda)+\\frac{\\partial f}{\\partial y}z(x,\\lambda), \\ \\ \\color{green}{z(a)=0, \\ \\ z^{'}(a)=1}.\n", "\\end{equation}\n", "combining these results together to get the unique solution \n", "\\begin{equation}\n", "y(x)=y_1(x).\n", "\\end{equation}\n", "Unlike the linear method, the non-linear shooting method is iterative to get the value of $\\lambda$ that results in the same solution as the Boundary Value Problem.\n", "\n", "The first choice of $\\lambda_0$ is a guess, then after the first iteration a Newton Raphson method is used to update $\\lambda,$ \n", "\n", "\\begin{equation}\\lambda_k=\\lambda_{k-1}-\\frac{y_1(b,\\lambda_{k-1})-\\beta}{\\frac{dy}{d \\lambda}(b,\\lambda_{k-1})},\\end{equation}\n", "which can be re-written as,\n", "\\begin{equation}\\lambda_k=\\lambda_{k-1}-\\frac{y_1(b,\\lambda_{k-1})-\\beta}{z(b,\\lambda_{k-1})},\\end{equation}\n", "\n", "until $|\\lambda_{k}-\\lambda_{k-1}|" ] }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "metadata": { "id": "HmHdE2oYzGZ_" }, "source": [ "## Initial conditions\n", "The initial conditions for the discrete equations are:\n", "\\begin{equation} u_1[0]=-2.5\\end{equation}\n", "\\begin{equation} u_2[0]=\\lambda_0\\end{equation}\n", "\\begin{equation} z_1[0]=0\\end{equation}\n", "\\begin{equation} z_2[0]=1\\end{equation}\n", "\\begin{equation}\\beta=3\\end{equation}\n", "Let $\\lambda_0=0.2$\n" ] }, { "cell_type": "code", "metadata": { "id": "-9H0BSlvzGaA" }, "source": [ "U1=np.zeros(N+1)\n", "U2=np.zeros(N+1)\n", "Z1=np.zeros(N+1)\n", "Z2=np.zeros(N+1)\n", "\n", "lambda_app=[0.2]\n", "U1[0]=-2.5\n", "U2[0]=lambda_app[0]\n", "\n", "Z1[0]=0\n", "Z2[0]=1\n", "beta=3" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "Lv5DdgvwzGaB" }, "source": [ "## Numerical method\n", "The Euler method is applied to numerically approximate the solution of the system of the two second order non-linear initial value problems they are converted in to two pairs of two first order non-linear initial value problems:\n", "1. Discrete form of Equation 1\n", "\\begin{equation}u_{1 }[i+1]=u_{1}[i] + h u_{2 }[i]\\end{equation}\n", "\\begin{equation}u_{2 }[i+1]=u_{2 }[i] + h (-2u_{1}[i]u_{2 }[i])\\end{equation}\n", "with the initial conditions $u_{1}[0]=-2.5$ and $u_{2}[0]=\\lambda_0.$\n", "\n", "\n", "2. Discrete form of Equation 2\n", "\\begin{equation}z_{1}[i+1]=z_{1 }[i] + h z_{2 }[i]\\end{equation}\n", "\\begin{equation}z_{2}[i+1]=z_{2 }[i] + h (-2z_{2}[i]y_{1 }[i]-2z_{1 }[i] y_{2 }[i])\\end{equation}\n", "with the initial conditions $z_{1}[0]=0$ and $z_{2}[0]=1$.\n", "\n", "At the end of each iteration \n", "\\begin{equation} u_1[i] \\approx y(x_i).\\end{equation}\n", "The initial choice of $\\lambda_0=0.2$ is up to the user then for each iteration of the system $\\lambda$ is updated using the formula:\n", "\\begin{equation}\\lambda_k=\\lambda_{k-1}-\\frac{u_1[10]-3}{z_1[10]}.\\end{equation}\n", "\n", "The plot below shows the numerical approximation of the solution to the non-linear Boundary Value Problem for each iteration.\n", "\n", "The stopping criteria for the iterative process is\n", "\\begin{equation}|\\lambda_k-\\lambda_{k-1}|" ] }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "metadata": { "id": "lOZUrhpTzGaD" }, "source": [ "## Results\n", "The plot below shows the final iteration of the numerical approximation for the non-linear boundary value problem." ] }, { "cell_type": "code", "metadata": { "id": "aLoww_iYzGaD", "colab": { "base_uri": "https://localhost:8080/", "height": 315 }, "outputId": "de34e914-7a2c-42cd-87e5-4a0b9d72b585" }, "source": [ "fig = plt.figure(figsize=(10,4))\n", "plt.grid(True)\n", "plt.plot(x,U1,'b:o')\n", "plt.title(\"Numerical Approximation of the non-linear Boundary Value Problem\",fontsize=32)\n", "plt.xlabel('x',fontsize=16)\n", "plt.ylabel(\"u_1$\",fontsize=16)\n", "plt.show()\n" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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3JbpBg+GmTOrUwYzU7BERMqi23BEpJkQwnzgUWDvtMsiIiIi7U8I8NJL8OabPr1gAYwdC88849Njx0KfPs2/06cPjBlT23KKiBSjYImIYGb9ox4lmFlvYE/gX+mWSkRERNqTzz/P/t9hB7j4Yp/efHPvSXLIIT49fDhccYX3JDELDB7s0xrcVUTqiZ6GIyIA6wDXReOWdAFuCSHcnXKZREREpJ3Yf39YsQLuvRf69oXbboOvfCX7+eqrN08/fLj/NTVN1q1RIlKXFCwREUIILwFD0i6HiIiItA+33AITJsCkSWAGBx7owZKMffZJr2wiIpWgYImIiIiIiBT1/vswfjz84Ac+vsinn8J778HHH8Maa8DIkWmXUESksjRmiYiIiIiItPDOOzBvnr9+7TU46ST45z99+rjj4KmnPFAiItIRKVgiIiIiIiJA9laauXN9ANYrr/Tpr38dZsyAvfbyabN0yiciUiu6DUdERERERDjkEFhzTQ+QrLWWP6EmM/Zq166w0UapFk9EpKbUs0REREREpBO6/XY48cTs9JZbwmabZaePO04BEhHpvBQsERERERHpBObPhxtvzN5qM20a3HUXLFrk07/9bfPgiYhIZ6ZgiYiIiIhIB/Xpp7Bwob++7z446ih4+mmfPuUUmD4devdOr3wiIvVKwRIRERERkQ7ojTd87JGbb/bpAw6AZ56BnXf26R49NFCriEghCpaIiIiIiLQT48dDQwN06eL/x4/PfrZiBXz3u/C73/n0hhvCr34FQ4f6dN++sMMOCpCIiCShYImIiIiISDswfjyMHAmzZkEI/v+44+B73/PPu3Txp9ZkgiFmcPbZsNVW6ZVZRKS90qODRURERETagVGjsuOPZHzxBfztb3DNNdCtG9xwQzplExHpaNSzRERERESkHZg9O//7K1Z4oERERCpHu1URERERkTr23HPQsycMGuS33uQaNKj2ZRIR6ejUs0REREREpE598YU/xWb0aBgzBvr0af55nz7+voiIVJaCJSIiIiIidWTmTDjrLB/EtWdPuPNOuO46GD4crrgCBg/2wVsHD/bp4cPTLrGISMejYImIiIiISB15+GE491x47TWf3mEHWHllfz18uAdTVqzw/wqUiIhUh4IlIiIiIiIpWrwYTj8dJk3y6aOPhhkzYIst0i2XiEhnpmCJiIiIiEgKQvD/PXrA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YuZM2HxzePvt/J/Pnl3T4oiIiIj8l4IlIiIiUjP//jc89pi/Xn992HJL6N8/f9pBg2pXLhEREZE4BUtERESkZr73PfjRj/xpN127wqRJMHYs9OnTPF2fPjBmTDplFBEREVGwRERERKrm/vthl11g0SKfvvxyePBBMMumGT4crrgCBg/29wcP9unhw9Mps4iIiIiCJSKdnJkdZmavmNkKMxuadnlEpP2bMQM+/NBf9+oFy5bBnDk+vfXWsM46Lb8zfLiPYbJihf9XoERERETSpGCJiLwMfBN4LO2CiEj7N2cObLopXHqpT++6KzzzDGy0UbrlEhERESlHt7QLICLpCiG8BmDxPvEiImW46iqYO9cfAbzuunDttbDnnv6Zdi0iIiLSHlkIIe0yiEgdMLMm4KQQwpQiaUYCIwEGDBjwlQkTJlS1TAsWLKBv375VnYeUT+ul/qSxTj76qAdrrLEEgPPP35Q5c3oxduyLCo7EaFupP1on9adW62TYsGHPhxB0u7GIJKZgiUgnYGb/ANbO89GoEMIdUZomSgRL4oYOHRqmTEmUtNWamppobGys6jykfFov9afW6+SGG+CYY2D6dL+9ZvFiH5tEmtO2Un+0TupPrdaJmSlYIiJl0W04Ip1ACGGPtMsgIu3XokV+a80OO8DQobD77jBqFKy6qn+uQImIiIh0NBrgVURERPJa4nfZsGKFj0dy660+ve66cNZZsOaa6ZVNREREpJrUs0SkkzOzQ4BLgP7APWb2Qghhr5SLJSIp+/GPYdo0mDwZVloJXn4ZBg5Mu1QiIiIitaGeJSKdXAjhthDCeiGEniGEAQqUiHROCxb4rTbLl/v0kCHQ2JidXm89PdlGREREOg/1LBERERHuvReOPRYaGmDYMDjuuLRLJCIiIpIe9SwRERHphD77DA48EK66yqcPOQSeesp7k4iIiIh0dgqWiIiIdBILFkDmid99+/oArpnbbLp3h5120q02IiIiIqDbcERERDqNY4/1AVvffht69ID770+7RCIiIiL1ST1LREREOqiXX4ZvfQs+/NCnTzsNbr/de5GIiIiISGEKloiIiLRT48f7gKy77bYrDQ0+/fnn2eBICPD44/Dqqz49ZAjsvLNutREREREpRcESERGRdmj8eBg5EmbNghCMWbN8ep114OyzPc1WW8E778DXvpZuWUVERETaGwVLRERE2qFRo2DhwubvLVwI3brBd7+bfU+33IiIiIiUTwO8ioiItCMffwwPPQSzZ+f/fP582HHH2pZJREREpKNRzxIREZE69/bb2V4kt90Ghx8Oa6+dP+2gQbUrl4iIiEhHpWCJiIhInQkBli7111OnegDk7rt9+pBD4Jln4A9/gD59mn+vTx8YM6a2ZRURERHpiBQsERERqSOLF8Nmm8F55/n0NtvABRdkb61ZfXXYYQc48ki44goYPBjMAoMH+/Tw4emVXURERKSjULBEREQkZaecAr/8pb/u1Qv22w++/GWf7toVTjzRgyK5hg+HmTPhkUcmM3OmAiUiIiIilaIBXkVERGrsoYegqSl7y8zChbBkSfbzsWNTKZaIiIiIRNSzREREpMrmzoUrr4Tly3362WfhmmtgwQKfvuQSuPzy9MonIiIiIs0pWCIiIlIF06f7Y3wBJk+GkSM9SAJ+y80770DfvumVT0REREQKU7BERESkAlasyD7e99VXfZDWv//dp/fdF15+GXbayad79/axSERERESkPilYIiIi/9/e/QdZWV4HHP8eBMQVf2PAURY0YiKihIhOGuII+KNqDGaqccQ11gaFxLbRFGui6NQxYxu1NVbFH5QaY7pK1BkrnbRERcEMES2FRprERoayKJggdQUVf6A8/ePZ23uhC14qe98L7/czs7P3vPfdvWfnzN3Vw/OcRx/Txo3wyU/Cddfl+MgjYebM3CQB2HPPPLA1orAUJUmStB0c8CpJ0v/DFVfA2rVw333Qpw987WswalR+LgImTSo0PUmSJH0MriyRJKkOc+bAN75RjVtaNp85cu21cOaZjc9LkiRJO54rSyRJ6sbq1TBrFlx6KfTrBy+9lBsmnZ2w335w/fVFZyhJkqSe4soSSVKptLfD0KHQq1f+3N6er6cEixfnY34Bli6FqVPh2Wdz/PWvw/LluVEiSZKkXZvNEklSabS35yN8Ozpyc6SjAy65JF9fsQKOPbbaPBk3LjdHxo3LcZ8+DmiVJEkqC7fhSJJK4+qrq8f7VrzzDkyblpslDz8MY8fm6337wqGHNjpDSZIkNQNXlkiSdlmdnbBkSTVeubL7+yrXzzkHBgzo+bwkSZLU3GyWSJJ2GcuWwYMPVuNvfhPOOCNvuYGtN0JaW3s+N0mSJO08bJZIknZaS5fmrTUbN+b4wQehrQ3Wrcvx5ZfDAw9U77/11nzkb62WFrjhhsbkK0mSpJ2DzRKp5CLi5oh4MSJeiIhHI2LfonOStmbpUpg4MQ9mBfj1r+Hmm/OKEoCLL86P9947x8cemwe0VgaztrXBjBkwZEi+NmRIjtvaGv+zSJIkqXnZLJH0BDAipXQM8BvgqoLzUcmlBB98kB8vWwaf/zzMnZvjDz+EBQvg5ZdzPGECrF8PRx6Z44MOgsMO2/apNW1teZjrpk35s40SSZIkbclmiVRyKaXHU0pd/2vKQuCQIvNR+WzYAK+9lh93dsLBB8Ndd+V44EDYbbfcJAEYOTIPY/3CF3Lcrx/ssUfjc5YkSdKuLVJl6p2k0ouIfwJ+nFL6h608PxmYDDBw4MBjZ82a1aP5vPXWW/Tv379HX0Pb7+PWZdWqPXjnnV4cfvjbbNoEX/7yGE46aQ2XXfYSALfeOowxY9Zy3HGdOyrlXZ7vleZkXZqPNWk+jarJuHHj/i2lNLrHX0jSLsNmiVQCEfEkMKibp6allB7rumcaMBr4g1THL4bRo0enRYsW7dhEtzBv3jzGjh3bo6+h7be9dVmwAH77Wzj77ByPGgUHHgiPP57jmTPhU5+CE07Y8bmWhe+V5mRdmo81aT6NqklE2CyRtF16F52ApJ6XUjp5W89HxEXAmcBJ9TRKVE7t7TBtGqxceSKtrfkEme7mfcyZAwsXwnXX5fi22+D556vNkttvh/33r95/8cU9nrokSZK0XWyWSCUXEacBVwInppQ2FJ2PmlN7O0yenOeLQNDRkWOAffaBu++Gxx7L80V+/vMcX3019O2bT6upnE4D1XkjkiRJUrNywKukO4C9gCci4t8j4u6iE1Jz2bQJvv3tSqOkasOGvNLkzTdh9WpYsyZfv+oq+N3vcqMEoLUV9vVAakmSJO1EXFkilVxK6fCic1Bz2LQJevXKjY877oDzz4cRI2D+fFi1qvuvWbkSJk7MHxWeTiNJkqSdnStLJKlk3nsPHn4Yli7N8SuvwAEHwP335/j99/PWmcrzI0duPmOkVmtrz+crSZIkNZrNEknaBS1bBsuX58cffginnppXi1Scdx488kh+PGgQnHsuHN61xmjIkLzFprJaZP/985DWlpbNX6OlJQ95lSRJknY1bsORpJ1QSvD229C/f46/+928OuTSS3N8wglw+ulw77156Ooee0CfPvm53XeHF16AoUNz3Ls33HVX9XtHVO+tqJx6k0/DSbS2xlZPw5EkSZJ2djZLJGknMGcOrF0LF1yQ47Fjc9Pj8cdzPG/e5ltiZs6EwYOr8WOPbf79jjpq+3Noa8sf8+bNZ+zYsdv/DSRJkqSdhNtwJKkHtbfnFRy9euXP7e3d39fRAXPnVuNrroETT6zGP/gBXH99NZ40Cb761Wr85JP5noovfhGOOWZH/ASSJElS+biyRJJ6SHs7TJ5cPXK3oyPHkLfF3H8/PPpo3vZy++0wfXreWtOrV14VMnx49XtNn17dcgNw4YWbv1ZEz/4skiRJUpm4skSSdoDOTnjmmWpj5NlnYcqUalyxYUOe+9HZmY/dXb8+X58yJX99xZQpm88RGTAA+vXr2Z9BkiRJUmazRJK24s034d138+NVq+CWW3KDA2DBAvj0p2HJkhzPn5+3zbz4Yo7Xrs2rRLqzcmXeRrN4MeyzT742bBgcd1xeVSJJkiSpWP5nuaRSevddePrpavNj9Wo4/3z42c9yvHgx7L13HqwK8OqrMHVqtTmy3355Jkjl1JgxY/Kw1crxu1/6Uj6Ctzu1g1glSZIkNR+bJZKaTmUo6vjxJ25zKGqtlOCNN/L2FoCNG+Gmm/KKD4B16/LqjXvuyfH69TB+PMyenePeveH552HNmhwfdhjceGN1bsjIkfl7T5iQ4+HD4aGHYMSIHB94IJxySm6wVNxwA7S0bJ5nS0u+LkmSJKl52SyR1FQqQ1E7OiCl+N+hqO3t+XjcRYuq9154Idx5ZzUeNAi+9738uHdvuPba6tG6e+2Vt7kcckiOBwyAp56Cr3wlx5/4BCxbBmefneN994Urr4Qjjshxnz752vYMUm1rgxkz8gqTiPx5xox8XZIkSVLz8jQcSU1l2rStD0Xt3RuOPx4eeCBff/VVeP31/DgCbrsNjj66Gr/+Ouy5Z4579ap+XSUeN65nfxbIjRGbI5IkSdLOxWaJpKZSmSHS3fXFi+GAA6rXnnhi83sqx/JWVBolkiRJkrQ93IYjqalsbfhpayt85jMweHBj85EkSZJUPjZLJDUVh6JKkiRJKprNEklNZfOhqMmhqJIkSZIazmaJpKbT1gYrVsBTT81nxQobJZIkSZIay2aJJEmSJElSDZslkiRJkiRJNWyWSJIkSZIk1bBZIkmSJEmSVMNmiSRJkiRJUo1IKRWdg6SdUES8BnT08MsMANb28Gto+1mX5mNNmpN1aT7WpPk0qiZDUkoHNuB1JO0ibJZIaloRsSilNLroPLQ569J8rElzsi7Nx5o0H2siqVm5DUeSJEmSJKmGzRJJkiRJkqQaNkskNbMZRSegblmX5mNNmpN1aT7WpPlYE0lNyZklkiRJkiRJNVxZIkmSJEmSVMNmiSRJkiRJUg2bJZIKFxGnRcR/RsSyiPhON8/vHhE/7nr+uYgY2vgsy6WOmvxZRPwqIl6IiLkRMaSIPMvmo+pSc9/ZEZEiwuM4e1g9NYmIc7veL7+MiAcanWMZ1fE7rDUino6IJV2/x84oIs8yiYh7I2JNRPzHVp6PiLitq2YvRMRnG52jJNWyWSKpUBGxGzAdOB0YDkyMiOFb3DYJ6EwpHQ58H7ixsVmWS501WQKMTikdAzwC3NTYLMunzroQEXsBlwHPNTbD8qmnJhExDLgKGJNSOgq4vOGJlkyd75VrgIdSSqOA84A7G5tlKd0HnLaN508HhnV9TAbuakBOkrRVNkskFe14YFlKaXlK6X1gFnDWFvecBfyw6/EjwEkREQ3MsWw+siYppadTShu6woXAIQ3OsYzqea8AfJfcUHy3kcmVVD01uQSYnlLqBEgprWlwjmVUT10SsHfX432A1Q3Mr5RSSs8Ar2/jlrOA+1O2ENg3Ig5qTHaS9H/ZLJFUtIOBl2viV7qudXtPSukDYB1wQEOyK6d6alJrEvAvPZqRoI66dC1bH5xS+kkjEyuxet4rRwBHRMSCiFgYEdv6l3XtGPXU5Trggoh4Bfhn4E8bk5q2YXv/9khSj+pddAKSpJ1XRFwAjAZOLDqXsouIXsAtwEUFp6LN9SZvKxhLXoH1TEQcnVJ6o9CsNBG4L6X0NxHxe8CPImJESmlT0YlJkpqDK0skFW0VMLgmPqTrWrf3RERv8pLp/25IduVUT02IiJOBacCElNJ7DcqtzD6qLnsBI4B5EbEC+Bww2yGvPaqe98orwOyU0saU0n8BvyE3T9Rz6qnLJOAhgJTSs0A/YEBDstPW1PW3R5IaxWaJpKL9KzAsIg6NiL7kQXuzt7hnNvCHXY/PAZ5KKaUG5lg2H1mTiBgF3ENulDiDoTG2WZeU0rqU0oCU0tCU0lDyLJkJKaVFxaRbCvX8/vpH8qoSImIAeVvO8kYmWUL11GUlcBJARBxJbpa81tAstaXZwIVdp+J8DliXUnq16KQklZfbcCQVKqX0QUT8CfBTYDfg3pTSLyPiemBRSmk28PfkJdLLyMPhzisu411fnTW5GegPPNw1a3dlSmlCYUmXQJ11UQPVWZOfAqdGxK+AD4E/Tym5Mq4H1VmXqcDfRcS3yMNeL7IJ37Mi4kFy43BA16yYvwD6AKSU7ibPjjkDWAZsAP6omEwlKQv/LkiSJEmSJFW5DUeSJEmSJKmGzRJJkiRJkqQaNkskSZIkSZJq2CyRJEmSJEmqYbNEkiRJkiSphs0SSZIkSZKkGjZLJEmSJEmSatgskSRJkiRJqmGzRJIkFSYi9oyIFyPi+YjoU3P91IjYFBF/XGR+kiSpnCKlVHQOkiSpxCJiFLAQ+H5K6TsRMRD4BfBcSumsYrOTJEllZLNEkiQVLiK+Bfw18PvAFcDRwMiU0tpCE5MkSaVks0SSJBUuIgL4CTAe6AucklKaW2xWkiSprJxZIkmSCpfyv978CNgd+IWNEkmSVCSbJZIkqXARMQj4W2AxMDIiLis4JUmSVGI2SyRJUqG6tuD8EHgPOBm4FbgxIo4pNDFJklRaziyRJEmFioipwE3A+JTS/IjoSz4dZ3dgdErpnUITlCRJpePKEkmSVJiI+Czwl8BfpZTmA6SU3gcmAkOBW4rLTpIklZUrSyRJkiRJkmq4skSSJEmSJKmGzRJJkiRJkqQaNkskSZIkSZJq2CyRJEmSJEmqYbNEkiRJkiSphs0SSZIkSZKkGjZLJEmSJEmSatgskSRJkiRJqvE/c4BR+ejXX/QAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "metadata": { "id": "pd8xjqDPzGaE" }, "source": [ "## $\\lambda$ Iteration\n", "The plot below shows the iterations of $\\lambda_k$, after $4$ iterations the value of $\\lambda$ stabilies." ] }, { "cell_type": "code", "metadata": { "id": "PewLgoG2zGaE", "colab": { "base_uri": "https://localhost:8080/", "height": 284 }, "outputId": "933c92f5-2398-4268-e34e-25855f4a14a2" }, "source": [ "fig = plt.figure(figsize=(10,4))\n", "plt.grid(True)\n", "plt.plot(lambda_app,'o')\n", "#plt.title(\"Values of $\\lambda$ for each interation \",fontsize=32)\n", "plt.xlabel('Iterations (k)',fontsize=16)\n", "plt.ylabel(\"lambda\",fontsize=16)\n", "plt.show()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "code", "metadata": { "id": "0Cdj-PnGzGaF" }, "source": [ "" ], "execution_count": null, "outputs": [] } ] }